#!/usr/bin/python

from __future__ import absolute_import, print_function, unicode_literals

import sys
import dbus
import time
from optparse import OptionParser, make_option

bus = dbus.SystemBus()

manager = dbus.Interface(bus.get_object("org.bluez", "/"), "org.bluez.Manager")

option_list = [
		make_option("-i", "--device", action="store",
				type="string", dest="dev_id"),
		]
parser = OptionParser(option_list=option_list)

(options, args) = parser.parse_args()

if options.dev_id:
	adapter_path = manager.FindAdapter(options.dev_id)
else:
	adapter_path = manager.DefaultAdapter()

service = dbus.Interface(bus.get_object("org.bluez", adapter_path),
						"org.bluez.Service")

if (len(args) < 1):
	print("Usage: %s <command>" % (sys.argv[0]))
	print("")
	print("  addrecord <file>")
	sys.exit(1)

if (args[0] == "addrecord"):
	if (len(args) < 2):
		print("Need file parameter")
	else:
		f = open(args[1])
		record = f.read()
		f.close()
		handle = service.AddRecord(record)
		print("0x%x" % (handle))
		time.sleep(120)
	sys.exit(0)

print("Unknown command")
sys.exit(1)
